Skip to main content

Fake data generation for CNNs

Background

There are labels directly available for a given regions. The task is to generate training images for them.

Roadmap

  1. Initial flood segmentation a. Requires tiff (or geotiff) with its appropriate label
  2. As of right now, directly labels are available a. Can a script be written to generate artificial images based on labels directly? Done
  3. Melissa is working on the Physics based engine which can predict the water flow based on the geolocation
  4. Multiple input images are available in a temporal sequence. Based on these inputs, can a regressor

Expected approach

There are multiple ways to go around it

  1. Randomly generate n-channel images based on the correlation between the training images and their label found in other datasets
  2. Consider the geospatial nature of the image, and try to generate the appropriate image
  3. Is there a correlation between water depth and the intensity?

Naïve method

For the generation of Fake images, the training dataset of Competition: STAC Overflow: Map Floodwater from Radar Imagery (drivendata.org). The entire dataset was uploaded to Google Drive during the competition for easy retrieval in the Colab Notebooks. To generate the fake images, following steps were executed:

  1. The input images considered in this case were 4 channel images
  2. Distribution of values was checked across all the 4 channels for pixels marked as ‘water’ and ‘no water’ (water and no water will be referred to as labels in document henceforth)
  3. Based on this distribution,
    1. Mean, std, minimum and maximum values were found for a few images for both the labels
    2. Based on these values, random values were generated to mirror these distributions
    3. Then these generated values were assigned to appropriate channels for the newly generated image.